@echo off
chcp 65001
echo ========================================
echo 解决Git推送冲突脚本
echo ========================================
echo.

echo 检测到推送被拒绝，原因：远程仓库包含本地没有的内容
echo 这通常是因为在Gitee上创建仓库时初始化了README文件
echo.

echo 选择解决方案：
echo 1. 拉取并合并远程内容（推荐，保留远程文件）
echo 2. 强制推送（覆盖远程内容，谨慎使用）
echo 3. 重置并重新开始
echo 4. 查看详细状态
echo.
set /p choice="请选择 (1-4): "

if "%choice%"=="1" goto :pull_merge
if "%choice%"=="2" goto :force_push
if "%choice%"=="3" goto :reset_start
if "%choice%"=="4" goto :check_status
goto :invalid_choice

:pull_merge
echo.
echo ========================================
echo 方案1: 拉取并合并远程内容
echo ========================================
echo.

echo 1. 检查当前状态...
git status
echo.

echo 2. 拉取远程内容...
git pull origin master --allow-unrelated-histories

if errorlevel 1 (
    echo.
    echo 拉取过程中出现冲突，需要手动解决
    echo.
    echo 冲突文件列表：
    git status --porcelain | findstr "^UU"
    echo.
    echo 请按以下步骤解决冲突：
    echo 1. 打开冲突文件，编辑解决冲突标记
    echo 2. 执行: git add .
    echo 3. 执行: git commit -m "解决合并冲突"
    echo 4. 执行: git push -u origin master
    echo.
    pause
    exit /b 1
)

echo.
echo 3. 检查合并结果...
git status
echo.

echo 4. 推送到远程仓库...
git push -u origin master

if errorlevel 1 (
    echo 推送失败，请检查网络连接和权限
    pause
    exit /b 1
)

echo.
echo ✅ 成功！代码已推送到远程仓库
goto :success

:force_push
echo.
echo ========================================
echo 方案2: 强制推送（覆盖远程内容）
echo ========================================
echo.
echo ⚠️  警告：这将完全覆盖远程仓库的内容！
echo 远程仓库中的README文件等将被删除
echo.
set /p confirm="确认要强制推送吗？(yes/no): "

if /i not "%confirm%"=="yes" (
    echo 操作已取消
    goto :end
)

echo.
echo 执行强制推送...
git push -u origin master --force

if errorlevel 1 (
    echo 强制推送失败
    pause
    exit /b 1
)

echo.
echo ✅ 强制推送成功！
goto :success

:reset_start
echo.
echo ========================================
echo 方案3: 重置并重新开始
echo ========================================
echo.

echo 1. 备份当前工作...
if not exist "backup" mkdir backup
xcopy /E /I /Y . backup\ >nul 2>&1
echo 当前工作已备份到 backup 文件夹

echo.
echo 2. 删除本地Git仓库...
rmdir /S /Q .git

echo.
echo 3. 重新初始化...
git init
git add .
git commit -m "feat: 添加三个模块登录页面的中英文切换功能"

echo.
echo 4. 添加远程仓库...
git remote add origin https://gitee.com/liyuanwei100/xxpay.git

echo.
echo 5. 强制推送到远程...
git push -u origin master --force

if errorlevel 1 (
    echo 推送失败
    pause
    exit /b 1
)

echo.
echo ✅ 重置并推送成功！
goto :success

:check_status
echo.
echo ========================================
echo 方案4: 查看详细状态
echo ========================================
echo.

echo 本地Git状态：
git status
echo.

echo 本地分支：
git branch -a
echo.

echo 远程仓库信息：
git remote -v
echo.

echo 最近的提交：
git log --oneline -5
echo.

echo 远程分支信息：
git ls-remote origin
echo.

echo 请根据上述信息选择合适的解决方案
goto :end

:invalid_choice
echo 无效选择，请重新运行脚本
goto :end

:success
echo.
echo ========================================
echo 🎉 推送成功！
echo ========================================
echo.
echo 您的代码已成功上传到Gitee：
echo https://gitee.com/liyuanwei100/xxpay
echo.
echo 包含的新功能：
echo ✅ 三个模块登录页面的中英文切换
echo ✅ 完整的国际化配置
echo ✅ 动态语言切换功能
echo ✅ 语言偏好本地存储
echo.
echo 测试链接：
echo - 运营平台: http://localhost:56701/src/views/user/login.html
echo - 代理商系统: http://localhost:56702/x_agent/src/views/user/login.html  
echo - 商户系统: http://localhost:56703/src/views/user/login.html
echo.

:end
echo ========================================
pause
